﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Crosland.Automotriz.Seguridad.Business;
using Crosland.Automotriz.Facade.Interface;
using Crosland.Automotriz.Facade.Facade;
using Crosland.Automotriz.Seguridad.Entity;
using DevExpress.Web.ASPxEditors;
using Crosland.Automotriz.Web.Reportes;
using Microsoft.Reporting.WebForms;
using System.Configuration;

namespace Crosland.Automotriz.Web.Vehiculos
{
    public partial class wFrmReporteCompensacion : BaseForm
    {
        iFacadeCompensacionVehiculo BL_CompensacionVehiculo = new FacadeCompensacionVehiculo();
        clsUsuarioLogic usu = new clsUsuarioLogic();

        protected override void Inicializar()
        {
            deFecIni.Date = DateTime.Today;
            deFecFin.Date = DateTime.Today;
            CargarUsuarios();
        }


        protected void CargarUsuarios()
        {
            T_SEG_USUARIO usuario = usu.listarUser(Session[DatosSesion.User].ToString())[0];

            ddlUsuario.DataSource = BL_CompensacionVehiculo.ListarUsuariosFacturadores();
            ddlUsuario.TextField = "USUARIO";
            ddlUsuario.DataBind();
            //ddlUsuario.Items.Insert(0, new ListEditItem("-Todos-", "0"));
            ddlUsuario.Value = usuario.ID_USUARIO;
        }

        protected void grdClientes_PageIndexChanged(object sender, EventArgs e)
        {
            CargarBusquedaCliente();
        }

        protected void btnBuscarCliente_Click(object sender, EventArgs e)
        {
            CargarBusquedaCliente();
        }

        protected void CargarBusquedaCliente()
        {
            grdClientes.FocusedRowIndex = -1;
            grdClientes.DataSource = BL_CompensacionVehiculo.ListarClientes(txtCliente.Text);
            grdClientes.DataBind();
            txtCliente.Focus();

        }

        protected void btnCliente_Click(object sender, EventArgs e)
        {
            txtCliente.Text = string.Empty;
            grdClientes.DataSource = null;
            grdClientes.DataBind();
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(grdClientes.GetRowValues(grdClientes.FocusedRowIndex, "ID_CLIENTE"));
            string cliente = grdClientes.GetRowValues(grdClientes.FocusedRowIndex, "DES_CLIENTE").ToString();
            lblIdCliente.Text = id.ToString();
            lblCliente.Text = cliente;
        }

        protected void CargarReporte()
        {
            DateTime fecini = Convert.ToDateTime(deFecIni.Value);
            DateTime fecfin = Convert.ToDateTime(deFecFin.Value);
            string usuario = ddlUsuario.Value.ToString();
            int idCliente=Convert.ToInt32(lblIdCliente.Text);

            this.rvPopupReporte.ProcessingMode = ProcessingMode.Remote;
            this.rvPopupReporte.ShowCredentialPrompts = true;
            this.rvPopupReporte.ShowExportControls = true;
            this.rvPopupReporte.ServerReport.ReportServerCredentials = new RSCredentials();
            this.rvPopupReporte.ServerReport.ReportServerUrl =
                new Uri(ConfigurationManager.AppSettings[DatosConfiguracion.RsServer]);
            this.rvPopupReporte.ServerReport.ReportPath = "/SAP_Vehiculos/rsReporteCompensacion";

            ReportParameter parameter = new ReportParameter("FEC_INI", fecini.ToString());
            ReportParameter parameter2 = new ReportParameter("FEC_FIN", fecfin.ToString());
            ReportParameter parameter3 = new ReportParameter("ID_USUARIO",usuario);
            ReportParameter parameter4 = new ReportParameter("ID_CLIENTE",idCliente.ToString());

            this.rvPopupReporte.ServerReport.SetParameters(parameter);
            this.rvPopupReporte.ServerReport.SetParameters(parameter2);
            this.rvPopupReporte.ServerReport.SetParameters(parameter3);
            this.rvPopupReporte.ServerReport.SetParameters(parameter4);
        
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(lblIdCliente.Text))
            {
                CargarReporte();
                ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowImpresion", String.Format("ShowImpresion()"), true);
            }
            
        }
    }
}